package com.youlu.campus.website.service;


import com.youlu.campus.website.entity.ActivityDescription;
import com.youlu.campus.website.entity.ActivityDescriptionPageQuery;
import org.springframework.data.domain.Page;

import java.util.List;

/**
 * 活动简介
 */
public interface ActivityDescriptionService {

    /**
     * 保存活动（新增或修改，根据 id 是否存在判断）
     *
     * @param activity 活动对象
     * @return 保存后的活动对象
     */
    public ActivityDescription saveActivity(ActivityDescription activity);

    /**
     * 根据 id 查询活动
     *
     * @param id 活动主键
     * @return 活动对象 Optional 包装，避免空指针
     */
    public ActivityDescription getActivityById(String id);

    /**
     * 分页查询活动
     *
     * @param pageQuery 分页查询参数
     * @return 活动列表
     */
    public Page<ActivityDescription> findByPageToAdmin(ActivityDescriptionPageQuery pageQuery);

    /**
     * 分页查询活动
     *
     * @param pageQuery 分页查询参数
     * @return 活动列表
     */
    public Page<ActivityDescription> findByPageToWeb(ActivityDescriptionPageQuery pageQuery);

    /**
     * 根据 id 删除活动
     *
     * @param id 活动主键
     */
    public void deleteActivity(String id);
}